home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / WINDOWS / RX11.ARJ / RX.H < prev    next >
Text File  |  1991-09-30  |  8KB  |  245 lines

  1. /*--------------------------------------------------------------------      */
  2. /* rxvar.h                                                                  */
  3. /*NOTE:                                                                     */
  4. /*This is a completly experimental program in it's pre-beta version.        */
  5. /*It is not guaranteed to work properly under all circumstances, although   */
  6. /*it has been tested for a couple of weeks. Everyone who uses this program  */
  7. /*does this on his own risk, so if your machine explodes, don't tell me     */
  8. /*you didn't know.                                                          */
  9. /*                                                                          */
  10. /*Andreas Gruen releases this software "as is", with no express or          */
  11. /*implied warranty, including, but not limited to, the implied warranties   */
  12. /*of merchantability and fitness for a particular purpose.                  */
  13. /*                                                                          */
  14. /*This program is completly free for everyone.                              */
  15. /*You can do with it and its sources whatever you want, but it would        */
  16. /*be fine to leave my name somewhere in the program or startup-banner.      */
  17. /*---------------------------------------------------------------------     */
  18.  
  19. typedef unsigned char UCHAR;
  20. typedef unsigned short USHORT;
  21. typedef unsigned long ULONG;
  22.  
  23. struct _doshead {           /* DOS EXE-header*/
  24.   USHORT sign;              /* 'MZ' byte-swapped*/
  25.   USHORT bonlpage;          /* bytes in last page */
  26.   USHORT npageexe;          /* total # of pages (512 byte) in EXE*/
  27.   USHORT nreloc;            /* # of relocation entries*/
  28.   USHORT nparhead;
  29.   USHORT minalloc;
  30.   USHORT maxalloc;
  31.   USHORT sp;
  32.   USHORT ss;
  33.   USHORT chksum;
  34.   USHORT ip;
  35.   USHORT cs;
  36.   USHORT posreloc;
  37.   USHORT overlay;
  38.   UCHAR  reserv[28];
  39.   UCHAR  oeminfo[4];
  40.   ULONG  posnewhead;
  41.   };
  42.  
  43. typedef struct _doshead DOSHEAD;
  44.  
  45. struct _oshead {
  46.   USHORT sign;
  47.   USHORT linkver;   /*swap*/
  48.   USHORT posentrytab;
  49.   USHORT szentrytab;   /* in Bytes */
  50.   ULONG  crc;
  51.   USHORT exeflags;
  52.   USHORT ordautoseg;
  53.   USHORT szheapsize;
  54.   USHORT szdstack;
  55.   USHORT ip;
  56.   USHORT cs;
  57.   USHORT sp;
  58.   USHORT ss;
  59.   USHORT nsegtab;
  60.   USHORT nmodulref;
  61.   USHORT sznrestab;
  62.   USHORT possegtab;   /*from new head*/
  63.   USHORT posrctab;
  64.   USHORT posrestab;
  65.   USHORT posmoduletab;
  66.   USHORT posimporttab;
  67.   USHORT posnrestab;
  68.   USHORT nmoventry;
  69.   USHORT nldsectsiz;
  70.   USHORT reserv[12];
  71.   };
  72.  
  73. typedef struct _oshead OSHEAD;
  74.  
  75. struct _rcentry {
  76.   USHORT datp;
  77.   USHORT len;
  78.   USHORT flags;
  79.   USHORT id;
  80.   USHORT handle;
  81.   USHORT nload;
  82.   };
  83.  
  84. typedef struct _rcentry RCENTRY;
  85.  
  86. struct _bmhead {             /* that's a short Windows BITMAPINFOHEADER*/
  87.   ULONG size;
  88.   ULONG width;
  89.   ULONG height;
  90.   USHORT planes;
  91.   USHORT bitcount;
  92.   };
  93.  
  94. typedef struct _bmhead BMHEAD;
  95.  
  96. struct _iconhead {
  97.   USHORT reserv1;                     /*0*/
  98.   USHORT rctype;                      /*1*/
  99.   USHORT count;                       /*1 images in file*/
  100.   UCHAR  wid;
  101.   UCHAR  hei;
  102.   UCHAR  colors;
  103.   UCHAR  reserv2;
  104.   USHORT xhot;                         /* Hotspot x-position, currently 0*/
  105.   USHORT yhot;
  106.   ULONG  DIBsize;
  107.   ULONG  DIBoff;
  108.   };
  109.  
  110. typedef struct _iconhead ICONHEAD;
  111. typedef struct _iconhead CURSORHEAD;   /*quite the same*/
  112.  
  113. struct _bmfhead {             /* that's Windows BITMAPFILEHEADER*/
  114.   USHORT sign;
  115.   ULONG fsize;
  116.   USHORT reserv1;
  117.   USHORT reserv2;
  118.   ULONG offset;
  119.   };
  120.  
  121. typedef struct _bmfhead BMFHEAD;
  122.  
  123. /* Menu-flags*/
  124. #define MF_GRAYED       0x0001
  125. #define MF_DISABLED     0x0002
  126. #define MF_CHECKED      0x0008
  127. #define MF_POPUP        0x0010
  128. #define MF_MENUBARBREAK 0x0020
  129. #define MF_MENUBREAK    0x0040
  130. #define MF_END          0x0080
  131.  
  132. /*Dialog-defines*/
  133. #define WS_OVERLAPPED       0x00000000L
  134. #define WS_POPUP            0x80000000L
  135. #define WS_CHILD            0x40000000L
  136. #define WS_MINIMIZE         0x20000000L
  137. #define WS_VISIBLE          0x10000000L
  138. #define WS_DISABLED         0x08000000L
  139. #define WS_CLIPSIBLINGS     0x04000000L
  140. #define WS_CLIPCHILDREN     0x02000000L
  141. #define WS_MAXIMIZE         0x01000000L
  142. #define WS_CAPTION          0x00C00000L     /* !!!*/
  143. #define WS_BORDER           0x00800000L
  144. #define WS_DLGFRAME         0x00400000L
  145. #define WS_VSCROLL          0x00200000L
  146. #define WS_HSCROLL          0x00100000L
  147. #define WS_SYSMENU          0x00080000L
  148. #define WS_THICKFRAME       0x00040000L
  149. #define WS_GROUP            0x00020000L
  150. #define WS_TABSTOP          0x00010000L
  151.  
  152. #define WS_MINIMIZEBOX      0x00020000L
  153. #define WS_MAXIMIZEBOX      0x00010000L
  154.  
  155. #define WS_EX_DLGMODALFRAME 0x00000001L
  156. #define WS_EX_NOPARENTNOTIFY 0x00000004L
  157.  
  158. #define ES_LEFT             0x0000L
  159. #define ES_CENTER           0x0001L
  160. #define ES_RIGHT            0x0002L
  161. #define ES_MULTILINE        0x0004L
  162. #define ES_UPPERCASE        0x0008L
  163. #define ES_LOWERCASE        0x0010L
  164. #define ES_PASSWORD         0x0020L
  165. #define ES_AUTOVSCROLL      0x0040L
  166. #define ES_AUTOHSCROLL      0x0080L
  167. #define ES_NOHIDESEL        0x0100L
  168. #define ES_OEMCONVERT       0x0400L
  169.  
  170. #define LBS_NOTIFY            0x0001L
  171. #define LBS_SORT              0x0002L
  172. #define LBS_NOREDRAW          0x0004L
  173. #define LBS_MULTIPLESEL       0x0008L
  174. #define LBS_OWNERDRAWFIXED    0x0010L
  175. #define LBS_OWNERDRAWVARIABLE 0x0020L
  176. #define LBS_HASSTRINGS        0x0040L
  177. #define LBS_USETABSTOPS       0x0080L
  178. #define LBS_NOINTEGRALHEIGHT  0x0100L
  179. #define LBS_MULTICOLUMN       0x0200L
  180. #define LBS_WANTKEYBOARDINPUT 0x0400L
  181. #define LBS_EXTENDEDSEL       0x0800L
  182.  
  183. #define CBS_SIMPLE            0x0001L
  184. #define CBS_DROPDOWN          0x0002L
  185. #define CBS_DROPDOWNLIST      0x0003L
  186. #define CBS_OWNERDRAWFIXED    0x0010L
  187. #define CBS_OWNERDRAWVARIABLE 0x0020L
  188. #define CBS_AUTOHSCROLL       0x0040L
  189. #define CBS_OEMCONVERT        0x0080L
  190. #define CBS_SORT              0x0100L
  191. #define CBS_HASSTRINGS        0x0200L
  192. #define CBS_NOINTEGRALHEIGHT        0x0400L
  193.  
  194. #define SBS_HORZ                    0x0000L
  195. #define SBS_VERT                    0x0001L
  196. #define SBS_TOPALIGN                0x0002L
  197. #define SBS_LEFTALIGN               0x0002L
  198. #define SBS_BOTTOMALIGN             0x0004L
  199. #define SBS_RIGHTALIGN              0x0004L
  200. #define SBS_SIZEBOXTOPLEFTALIGN     0x0002L
  201. #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
  202. #define SBS_SIZEBOX                 0x0008L
  203.  
  204. #define BS_PUSHBUTTON      0x00L
  205. #define BS_DEFPUSHBUTTON   0x01L
  206. #define BS_CHECKBOX        0x02L
  207. #define BS_AUTOCHECKBOX    0x03L
  208. #define BS_RADIOBUTTON     0x04L
  209. #define BS_3STATE          0x05L
  210. #define BS_AUTO3STATE      0x06L
  211. #define BS_GROUPBOX        0x07L
  212. #define BS_USERBUTTON      0x08L
  213. #define BS_AUTORADIOBUTTON 0x09L
  214. #define BS_PUSHBOX         0x0AL
  215. #define BS_OWNERDRAW       0x0BL
  216. #define BS_LEFTTEXT        0x20L
  217.  
  218. #define SS_LEFT            0x00L
  219. #define SS_CENTER          0x01L
  220. #define SS_RIGHT           0x02L
  221. #define SS_ICON            0x03L
  222. #define SS_BLACKRECT       0x04L
  223. #define SS_GRAYRECT        0x05L
  224. #define SS_WHITERECT       0x06L
  225. #define SS_BLACKFRAME      0x07L
  226. #define SS_GRAYFRAME       0x08L
  227. #define SS_WHITEFRAME      0x09L
  228. #define SS_USERITEM        0x0AL
  229. #define SS_SIMPLE          0x0BL
  230. #define SS_LEFTNOWORDWRAP  0x0CL
  231. #define SS_NOPREFIX        0x80L
  232.  
  233. #define DS_ABSALIGN         0x01L
  234. #define DS_SYSMODAL         0x02L
  235. #define DS_LOCALEDIT        0x20L
  236. #define DS_SETFONT          0x40L
  237. #define DS_MODALFRAME       0x80L
  238. #define DS_NOIDLEMSG        0x100L
  239.  
  240. struct _nametab {
  241.   USHORT type;
  242.   USHORT num;
  243.   char name[64];
  244. } nametab [512];
  245.